<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Работа с меню</title>
    <style>
        #header {
            background-color:black;
            color:white;
            text-align:center;
            padding:5px;
        }
        #content {
            float:left;
            padding:10px; 
        }
    </style>
</head>

<body>
    <div id="header">
        <h1>Работа с меню</h1>
    </div>


    <div id="content">
        <p>Меню содержит следующие разделы:
            <li>Файл</li>
            <li>Правка</li>
            <li>Вид</li>
            <li>Проект</li>
            <li>Утилиты</li>
            <li>Справка</li>
        </p>
        <p>В разделе <span style="color:blue">Файл</span> размещаются стандартные операции работы с проектом.
            <li><span style="color:darkgray">Новый проект</span> (создание нового проекта)</li>
            <li><span style="color:darkgray">Открыть</span> (загрузка существующего проекта)</li>
            <li><span style="color:darkgray">Сохранить</span> (сохранение текущего проекта)</li>
            <li><span style="color:darkgray">Сохранить как</span> (сохранение текущего проекта с выбором каталога)</li>
            <li><span style="color:darkgray">Закрыть проект</span> (закрытие текущего проекта)</li>
            <li><span style="color:darkgray">Import</span> (загрузка данных из проекта версии Relkon 6.x)</li>
            <li><span style="color:darkgray">Export</span> (создание файла с расширением rp6 для поддержки работы с дизайнером сенсорной панели)</li>
            <li><span style="color:darkgray">Предварительный просмотр</span> (просмотр содержимого перед печатью)</li>
            <li><span style="color:darkgray">Печать</span> (печать всего документа или выделенного фрагмента)</li>
            <li><span style="color:darkgray">Недавние проекты</span> (список последних открытых проектов)</li>
        </p>
        <p>
            Для понимания структуры проекта ниже приведено назначение его файлов. <br>
        </p>
        <p>
            Основным стержнем проекта является файл с расширением <span style="color:darkred">kon</span>. В нём содержится текст программы на языке 
            <span style="color:darkred">Relkon</span>. Содержимое пульта хранится в файле с расширением <span style="color:darkred">lcd</span>. 
            Настройки проекта хранятся в файле с расширением <span style="color:darkred">sfr</span>. 
        </p>
        <p>
            В папке <span style="color:darkred">back</span> 
            хранятся резервные копии файлов kon и sfr. Каждый раз при компиляции проект автоматически сохраняется, а в папку back записываются копии файлов 
            (в случае если были внесены изменения с момента последнего сохранения). С интервалом в пол часа папка back автоматически очищается. Остаются только последние 
            10 версий файлов kon и sfr.
        </p>
        <p>
            В файле с расширением <span style="color:darkred">inp</span> хранится состояние дискретных и аналоговых входов контроллера, значения переменных. Они сохраняются и загружаются с помощью
             отладчика и позволяют ускорить отладку работы контроллера в режиме эмуляции (программного имитирования входных сигналов контроллера).
        </p>
        <p>
            Большая группа файлов хранится в папке <span style="color:darkred">build</span>.
        </p>
        <p>
            В файлах с расширением <span style="color:darkred">elf</span> и <span style="color:darkred">bin</span> содержится двоичный код программы, который непосредственно и загружается в контроллер.
            Ошибки сборки проекта (при их наличии) хранятся в файле <span style="color:darkred">build.log</span>. В файле <span style="color:darkred">size.log</span> размещается информация о расходовании памяти контроллером. В <span style="color:darkred">map</span> файле находится распределение адресов переменных в памяти контроллера. Настройки отладчика хранятся в файле <span style="color:darkred">..._debug.xml</span>. Файл <span style="color:darkred">variables.xml</span> хранит список переменных, опрашиваемых отладчиком в паре с их значениями. Его можно использовать для хранения наборов различных конфигураций контроллера.
        </p>
        <p>В разделе <span style="color:blue">файл</span> отдельного комментария заслуживают пункты Import и Export.</p>
        <p>С помощью команды Import можно преобразовать проект версии Relkon 6.x в проект версии Relkon7.x.
            Среда предложит выбрать папку проекта Relkon 6.x. После этого внутри этой папки будет создан каталог Relkon7_project с преобразованным проектом.</p>
        <p>Команда Export предназначена для создания по данным текущего проекта файла с расширением rp6. Он необходим для дизайнера сенсорных панелей (разработки ООО "Контэл").</p>
        <br>
        
        <p>В разделе <span style="color:blue">Правка</span> размещены следующие операции:
            <li><span style="color:darkgray">Искать текст</span> (поиск текста в kon файле)</li>
            <li><span style="color:darkgray">Свернуть всё</span> (свернуть все процессы в kon файле)</li>
            <li><span style="color:darkgray">Развернуть всё</span> (развернуть все процессы в kon файле)</li>
            <li><span style="color:darkgray">Настройки среды</span> (настройки внешнего вида среды)</li>
        </p>
        <p>Поиск текста в редакторе кода доступен также по комбинации клавиш Ctrl+F и через панель инструментов.</p>
        <p><img src="images/text_search.png" alt="Диалог поиска"></p>
        <p>В диалоге поиска/замены настраивается направление поиска, режим зацикливания (переход через границу документа при достижении конца или начала), учёт регистра и режим поиска целых слов.</p>
        <p>Код программы состоит из набора процессов, выполняющихся параллельно. Содержимое каждого процесса можно свернуть в одну строку или наоборот развернуть (щелчком левой кнопки мыши по значку рядом со словом <span style="color:darkred">PROCESS</span>). Команды <span style="color:darkgray">Свернуть всё</span> и <span style="color:darkgray">Развернуть всё</span> позволяют свернуть или развернуть все процессы в документе.</p>
        <p>При выборе пункта <span style="color:darkgray">Настройки среды</span> открывается диалог выбора шрифта редактора кода и системного шрифта среды программирования.</p>
        <p><img src="images/sys_config.png" alt="Системные настройки"></p>
        <br>
        <p>В разделе <span style="color:blue">Вид</span> настраивается видимость отдельных вкладок/окон:
            <li><span style="color:darkgray">Настройки</span></li>
            <li><span style="color:darkgray">Пульт</span></li>
            <li><span style="color:darkgray">Отладчик</span></li>
            <li><span style="color:darkgray">Системные сообщения</span></li>
        </p>
        <p> В области системных сообщений выводится информация о результатах выполнения различных операций. Например ход процесса компиляции, открытия проекта и т.д.</p>
        <br>
        <p>В разделе <span style="color:blue">Проект</span> размещены операции:
            <li><span style="color:darkgray">Собрать проект</span> (компиляция и сборка проекта)</li>
            <li><span style="color:darkgray">Загрузить программу и настройки в контроллер</span></li>
            <li><span style="color:darkgray">Загрузить программу в контроллер</li>
            <li><span style="color:darkgray">Записать настройки</span></li>
            <li><span style="color:darkgray">Прочитать настройки</span></li>
            <li><span style="color:darkgray">пульт>настройки</span></li>
            <li><span style="color:darkgray">настройки>пульт</span></li>
        </p>
        <p>Результатом успешной сборки проекта будет файл с двоичным кодом для контроллера. В случае обнаружения ошибок они будут выведены в окне системных сообщений. Программу и настройки можно загрузить как по отдельности так и вместе. Контроллер программируется по интерфейсу RS485. Чтобы загрузить данные в контроллер его необходимо подключить к компьютеру через адаптер USB/RS485 ли RS232/RS485 (при наличии портов RS232). При старте программирования выполняется поиск контроллера на всех последовательных портах (COM порты). Перебираются различные варианты протоколов и скоростей, поддерживаемых контроллером. Для программирования контроллера необходимо знать его сетевой адрес. Это связано с тем, что контроллеры допускают работу в сети. По сути сетевой адрес контроллера - это его имя в сети. Независимо от реального адреса любой контроллер отвечает на команды, обращённые к нулевому адресу. Поэтому если к компьютеру подключен только один контроллер, то сетевой адрес при программировании можно установить нулевым (это его значение по умолчанию). Более подробно о программировании контроллеров можно прочитать в соответствующем разделе справки.</p>
        <p> Для понимания команд <span style="color:darkred">пульт>настройки</span> и <span style="color:darkred">настройки>пульт</span> необходимо иметь представление о конфигурации переменных, отображаемых пультом. Каждая переменная имеет "шаблон отображения" в виде числа. Это число задаёт количество знакомест для вывода переменной и тип переменной. Например если шаблон переменной равен <span style="color:darkred">123</span> то это говорит о том, что используются три знакоместа, а переменная является однобайтной. Команда "пульт>настройки" выполняет следующие действия: сканирует все переменные пульта, ищет среди них переменные заводских настроек, значение их шаблонов пишет в таблицу настроек контроллера. Это позволяет задавать типовые заводские установки проекта не только в таблице настроек, но и в редакторе пульта. Команда "настройки>пульт" выполняет обратную операцию - меняет шаблоны вывода переменных в пульте в зависимости от значения настроек (например предварительно считанных из контроллера).
        </p>
        <br>
        <p>В разделе <span style="color:blue">Утилиты</span> размещены ссылки на внешние утилиты, идущие в комплекте со средой программирования:
            <li><span style="color:darkgray">Загрузчик</span> (запись и чтение программы и настроек)</li>
            <li><span style="color:darkgray">Настройка Matchbox</span> (настройка модулей расширения входов/выходов контроллера)</li>
        </p>
        <br>
        <p>
            В разделе справка можно посмотреть информацию о текущей версии среды.
        </p>
        <p><img src="images/about.png" alt="о среде"></p>
        <p><span style="color:darkred">RIDE Version</span> показывает версию оболочки (непосредственно среда программирования)</p>
        <p><span style="color:darkred">Relkon Version</span> показывает версию операционной системы, загружаемой в контроллер</p>
    </div>
</body>
</html>